/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.cip.esymons.eventos.beans;

import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;
import org.cip.esymons.eventos.bc.ServicioEquipoDelegate;
import org.cip.esymons.eventos.be.ServicioEquipo;

/**
 *
 * @author oscar
 */
public class ServicioEquipoController {

    ServicioEquipoDelegate delegate;
    private ServicioEquipo servicio;
    private List<ServicioEquipo> listaEquipo;
    private String mensaje;

    public ServicioEquipoController() {
        delegate = new ServicioEquipoDelegate();
        servicio = new ServicioEquipo();
        listaEquipo = new ArrayList<ServicioEquipo>();
        listar();
        mensaje = "";
    }

    public String guardar() {
        setMensaje(delegate.guardar(getServicio())?"Se registro con exito":"Error al registrar los datos");
        servicio = new ServicioEquipo();
        return "OK";
    }

    public ServicioEquipo getServicio() {
        return servicio;
    }

    public void setServicio(ServicioEquipo servicio) {
        this.servicio = servicio;
    }

    public ServicioEquipoDelegate getDelegate() {
        return delegate;
    }

    public String actualizar() {
        setMensaje(delegate.actualizar(getServicio())?"Se actualizo con exito":"Error al actualizar los datos");
        return "OK";
    }

    public String eliminar() {
        servicio.setSerActivo(false);
        delegate.actualizar(servicio);
        listar();
        return "OK";
    }

    public String listar() {
        listaEquipo = delegate.listarServiciosEquipos();
        return "listar";
    }

    public String cancelar() {
        servicio = new ServicioEquipo();
        setMensaje("");
        return "OK";
    }

    public String reset() {
        setMensaje("");
        try {
            servicio = delegate.buscarEquipo(servicio.getSerCodigo());
        } catch (Exception ex) {

        }
        return "OK";
    }

    public List<ServicioEquipo> getListaEquipo() {
        return listaEquipo;
    }

    public void setListaEquipo(List<ServicioEquipo> listaEquipos) {
        this.listaEquipo = listaEquipos;
    }

    public String navegar_nuevo() {
        cancelar();
        return "nuevo";
    }

    public String navegar_editar() {
        setMensaje("");
        return "editar";
    }

    public SelectItem[] getComboServicios() {
        //Combo de Ambientes lista todos los ambientes
        try {
            listaEquipo = new ArrayList<ServicioEquipo>();
            listaEquipo = delegate.listarServiciosEquipos();
            SelectItem[] comboServicios;
            if (listaEquipo.size() > 0) {
                comboServicios = new SelectItem[listaEquipo.size()];
                for (int i = 0; i < listaEquipo.size(); i++) {
                    comboServicios[i] = new SelectItem(listaEquipo.get(i), listaEquipo.get(i).getSerNombre());
                }
            } else {
                comboServicios = new SelectItem[1];
                comboServicios[0] = new SelectItem(new ServicioEquipo(), "No hay Equipos registrados");
            }

            return comboServicios;

        } catch (Exception e) {
            //Mensaje al usuario
            listaEquipo = new ArrayList<ServicioEquipo>();
            SelectItem[] comboAmbiente = new SelectItem[1];
            comboAmbiente[0] = new SelectItem(new ServicioEquipo(), "No hay Equipos");
            return comboAmbiente;
        }
    }

    /**
     * @return the mensaje
     */
    public String getMensaje() {
        return mensaje;
    }

    /**
     * @param mensaje the mensaje to set
     */
    public void setMensaje(String mensaje) {
        this.mensaje = mensaje;
    }
    /**
     * @return the unidad
     */
}
